/*
 * @Description: 
 * @Author: 于子续
 * @Date: 2025-09-06 16:42:33
 * @LastEditors: 于子续
 * @LastEditTime: 2025-09-06 16:42:59
 */
/**
 * 文件转Base64（去掉data:image前缀）
 * @param {File} file - 上传的文件对象
 * @returns {Promise<{base64: string, type: string}>} - Base64字符串 + 文件格式（jpg/png/bmp）
 */
export const fileToBase64 = (file) => {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = (e) => {
      try {
        const result = e.target.result;
        // 解析格式（如data:image/jpg;base64,... → jpg）
        const typeMatch = result.match(/data:image\/(\w+);base64,/);
        if (!typeMatch) throw new Error('无法识别图片格式');
        
        const type = typeMatch[1];
        // 去掉前缀，保留纯Base64
        const base64 = result.replace(/^data:image\/\w+;base64,/, '');
        resolve({ base64, type });
      } catch (err) {
        reject(err);
      }
    };
    reader.onerror = () => reject(new Error('文件读取失败'));
    reader.readAsDataURL(file);
  });
};